<HTML>
<HEAD>
<TITLE>
RegistroDisco.h
</TITLE>
</HEAD>
<BODY>
<PRE>
<font color="blue">#ifndef</font> REGISTRODISCO_H_
<font color="blue">#define</font> REGISTRODISCO_H_

<font color="blue">#include</font> <font color="maroon">&#60;stdlib.h&#62;</font>
<font color="blue">#include</font> <font color="maroon">&#60;stdio.h&#62;</font>
<font color="blue">#include</font> <font color="maroon">"Registro.h"</font>
<font color="blue">#include</font> <font color="maroon">"ComponenteAlmacenamiento.h"</font>
<font color="blue">#include</font> <font color="maroon">"../Dato.h"</font>
<font color="blue">#include</font> <font color="maroon">"../../exceptions/DiscStorageException.h"</font>
<font color="blue">#include</font> <font color="maroon">"../../exceptions/PKException.h"</font>
<font color="blue">#include</font> <font color="maroon">"../../exceptions/NullPointerException.h"</font>
<font color="blue">#include</font> <font color="maroon">"../../enums/TipoMemoria.h"</font>

<font color="blue">using</font> <font color="blue">namespace</font> std;

<font color="blue">class</font> RegistroDisco <font color="black">:</font> <font color="blue">public</font> Registro<font color="black">{</font>
    <font color="blue">private</font><font color="black">:</font>
        <font color="blue">int</font> offset;
        FILE <font color="black">*</font>fp;
        <font color="blue">void</font> escribirEnDisco<font color="black">(</font>TipoSerializacion modo<font color="black">)</font>;

    <font color="blue">public</font><font color="black">:</font>
        RegistroDisco<font color="black">(</font>TipoMemoria tipo, <font color="blue">int</font> tamanio, FILE<font color="black">*</font> fp<font color="black">)</font>;
        RegistroDisco<font color="black">(</font>TipoMemoria tipo, <font color="blue">int</font> tamanio, FILE<font color="black">*</font> fp, Dato <font color="black">*</font>dato<font color="black">)</font>;
        <font color="blue">void</font> getAccesoDato<font color="black">(</font><font color="blue">void</font> <font color="black">*</font><font color="black">*</font>accesoDato<font color="black">)</font>;
        <font color="blue">int</font> getId<font color="black">(</font><font color="black">)</font>;
        <font color="blue">void</font> leer<font color="black">(</font>Dato <font color="black">*</font>datoLeido, TipoSerializacion modo<font color="black">)</font>;
        <font color="blue">void</font> escribir<font color="black">(</font><font color="blue">void</font> <font color="black">*</font>accesoDisco, TipoSerializacion modo<font color="black">)</font>;
        <font color="blue">void</font> escribir<font color="black">(</font>TipoSerializacion modo<font color="black">)</font>;
        <font color="blue">void</font> escribir<font color="black">(</font><font color="blue">void</font> <font color="black">*</font>accesoDisco, Dato <font color="black">*</font>dato, TipoSerializacion modo<font color="black">)</font>;
        <font color="blue">void</font> borrar<font color="black">(</font><font color="black">)</font>;
<font color="black">}</font>;

<font color="blue">#endif</font> <font color="green">/*REGISTRODISCO_H_*/</font>

</PRE>
</BODY>
</HTML>
